输入/输出

输入/输出所包含的指令主要分为四部分:初始化管脚、控制管脚的输入输出、获取输入值。

管脚的输入输出按信号类型可分为数字信号和模拟信号,在CircuitPython中,模拟输出有PWM(脉冲宽度调制)和DAC(数模转换器)两种输出方式。

获取输入值可获取数字输入、模拟输入和触摸传感器的值。

  • 初始化:数字输出
  • 输入输出:数字输入、数字输出、模拟输入、PWM模拟输出、DAC模拟输出
  • 【其他待完善】
../../_images/inout1.png

1. HIGH

数字量,在时间上和数量上都是离散的物理量称为数字量.把表示数字量的信号叫数字信号.把工作在数字信号下的电子电路叫数字电路。有两种状态即:1或0

../../_images/high.png

2. 初始化为数字管脚

引脚,又叫管脚,英文叫Pin。就是从集成电路(芯片)内部电路引出与外围电路的接线,所有的引脚就构成了这块芯片的接口。结合1.中数字信号介绍,该指令关于数字引脚初始化,而数字引脚又有多种模式,例如,数字输出、开漏输出、数字输入、上拉输入、下拉输入,具体见3.介绍。

../../_images/num_init.png

3.数字管脚模式

将数字引脚进一步设置为具体的使用模式,其中数字输出为较为常用的数字输出模式,有两种状态分别为0和1,可用于驱动LED灯等外设; 开漏输出:开漏输出就是不输出电压,控制输出低电平时引脚接地,控制输出高电平时引脚既不输出高电平,也不输出低电平,为高阻态。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。这种方式适合在连接的外设电压比单片机电压低的时候; 数字输入:指作为数字信号读取模式,读取到高电平返回1,读取到低电平返回0; 关于上拉输入与下拉输入:通过使能芯片内部的上拉电阻可以保证在无信号输入时输入端的电平为高电平。而在信号输入为低电平是输入端的电平应该也为低电平。如果没有上拉电阻,在没有外界输入的情况下输入端是悬空的,它的电平是未知的无法保证的,上拉电阻就是为了保证无信号输入时输入端的电平为高电平,同样还有下拉电阻它是为了保证无信号输入时输入端的电平为低电平。

../../_images/num_pin.png

4. 数字输出

给一个数字引脚写入HIGH或者LOW。

../../_images/num_out.png

4.1 范例

通过扩展接口U1(IO9、IO10)连接红蓝双色灯,然后通过数字输出模式,循环交替出现红、蓝色及熄灭状态,可类比用于直流电机的驱动,在用于马达驱动时避免两个引脚同时输出高电平。

../../_images/num_example1.png

5. 数字输入

读取指定引脚的状态值,返回0或1。

../../_images/get_num.png

5.1 范例

通过扩展接口U1(IO9、IO10)连接按钮指示灯模块,以获取按钮引脚的状态值,并通过串口打印。

../../_images/num_example1.png

7. 初始化PWM模拟输出

PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。

../../_images/pwm_init.png

8. PWM模拟输出

待确认赋值具体含义

../../_images/pwm_out.png

9. PWM模拟输出2

是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);也就是说一秒钟PWM有多少个周期。单位:Hz

../../_images/pwm_out_hz.png

10. ADC模拟输入初始化

模拟输入是指输入模拟信号(模拟量)。可以说,模拟输入就是输入连续信号。

../../_images/adc_init.png

11. ADC模拟输入参考电压

在ADC也就是模数转换的时候需要由一个标准的稳定的电压提供参考才能精确的采样,更多信息,自行网搜。 * 该指令暂不可使用。

../../_images/adc_in.png

12. 获取ADC模拟输入

根据adc具体位数返回对应范围的连续数值,返回0-65535。

../../_images/get_adc.png

12.1 范例

通过串口打印连接在U1的旋转电位器数值。

../../_images/adc_example.png

13. 初始化触摸传感器

外接触摸传感器初始化。

../../_images/touch_init.png

14. 获取触摸传感器的值

读取外接触摸传感器的值,返回内容待测试。

../../_images/get_touch.png

14.1 范例待完善